The Operating System (OS) for controlling a communication terminal and such basic software as middleware are normally stored in a non-volatile memory installed on the communication terminal, and is directly executed on the non-volatile memory so as not to be lost when power is turned OFF, in order that operation is possible by turning the power ON again even if power of the communication terminal is shut OFF.
For non-volatile memory, normally a rewritable non-volatile memory, such as a flash ROM (Read Only Memory) is used to avoid an exchange of the non-volatile memory itself when the basic software is upgraded, and the version upgrade is executed by rewriting the software.
Along with the recent advancements in communication means, a method of upgrading software, which is stored in the above mentioned rewritable non-volatile memory and is directly executed, by downloading the update software, from a software management server which manages update software has been proposed. This software update method rewrites the software, which is stored in the rewritable non-volatile memory and is directly executed, at the same time with downloading the update software. Therefore, if rewriting software stops mid-way by an interruption in the download of the update software due to such a cause as a power failure, it may become impossible to use the communication terminal. To prevent this risk, a conventional communication terminal has dual rewritable non-volatile memories. And to update the software, the currently operating software remains in one of the duel rewritable non-volatile memories, and in this status the update software is transferred to the other rewritable non-volatile memory from the software management server. Then after transfer of the update software completes, operation is switched from the rewritable non-volatile memory, where currently operating software is stored, to the rewritable non-volatile memory where the update software is stored. Therefore even if an update of software fails, as mentioned above, the currently operating software operates, so the risk of the communication terminal becoming disabled can be prevented.